1 多租户

每一个RabbitMQ服务器都能够创建虚拟的消息服务器,我们称之为虚拟主机(virtual host),简称为 vhost。

每一个 vhost 本质上是一个独立的小型RabbitMQ服务器,拥有自己独立的队列、交换器和绑定关系等,并且它拥有自己独立的权限。

vhost 就像是虚拟机与物理服务器一样,它们在各个实例间提供逻辑上的分离,为不同程序安全保密地运行数据,它既能将同一个RabbitMQ中的众多客户去分开,又可以避免队列和交换器等命名冲突。

vhost 之间是绝对隔离的,无法将 vhost1 中的交换器与 vhost2 中的队列进行绑定。

当RabbitMQ的使用达到一定的规模后,建议用户对业务功能、场景进行归类区分,并为之分配独立的 vhost。

 

创建 vhost

参数说明:

 

删除 vhost

参数说明:

 

查看 vhost

参数说明:

 

2 权限

在RabbitMQ中,权限控制是以 vhost 为单位的。当创建一个用户时,用户通常会被指派给至少一个 vhost,并且只能访问被指派的 vhost 内的队列、交换器和绑定关系等。因此,RabbitMQ中的授予权限是指在 vhost 级别对用户而言的权限授予。

 

授予权限

参数说明:

 

示例:

  1. 授予root用户可访问虚拟主机 vhost1,并在所有资源上都具备可配置、可写和可读的权限。

  2. 授予root用户可访问虚拟主机 vhost2,在以“queue”开头的资源上具备可配置权限,并在所有资源上拥有可写和可读的权限。

     

清除权限

参数说明:

 

查看权限

查看指定 vhost 的权限

参数说明:

 

查看指定用户的权限

参数说明: